iT邦幫忙

0

AutoLisp計算圖塊的數量 (Calculating a block’s amount)

  • 分享至 

  • xImage
  •  

本文展示一個AutoLISP副程式,計算圖塊在畫面的數量。

用法:

步驟1. 將其加入一個Lisp程式檔內,假設程式名為 aa.lsp。

步驟2. 下載程式,Command: (load “aa")

步驟 3. 執行副程式指令,如要計算畫面上有幾個名為’A4’的圖塊的數量,執行 Command: (blk_count “A4″) ,即得出數量。若在程式內執行,即 (setq n (blk_count “A4″)),變數 n 即為’A4’圖塊的數量。

(原文出自)

程式碼:

(defun blk_count (blkn / ss1 n m tol a blkname)    
  (setq ss1 (entss (ssget "x") "insert") '蒐集所有insert類圖元,就是圖塊(block)
             tol 0  
  )  
  (if ss1    
    (progn
      (setq n (sslength ss1)
            m 0
      )
      (repeat n  '逐一取出圖塊
          (setq a (ssname ss1 m)
                blkname (ent_code 2 (entget a))
          )          
          (if (= (strcase blkname) (strcase blkn))  '比對圖塊名字          
            (setq tol (+ 1 tol))   '累加數量
          )
          (setq m (+ 1 m))  
      )))    
  (princ tol)
) 

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
海綿寶寶
iT邦大神 1 級 ‧ 2017-12-01 08:49:56

新聞一則:Autodesk營運表現不佳,準備大砍13%人力、裁逾1000個職位

該公司在第三季創下了5.15億美元的營收

這樣叫營運不佳
不知道到底成本都花到那裡去了
/images/emoticon/emoticon06.gif

cpc0935 iT邦研究生 5 級 ‧ 2017-12-01 13:48:06 檢舉

好問題

我要留言

立即登入留言